
// 定义一个无参数无返回值的函数
// void 表示的是该函数中没有返回值
// 冒号后面的是返回值类型
function f1(): void {
    console.log(1);
}

// 有一个返回值是字符串类型
function f2(): string {
    return '你今天很开心'
}

interface iUser {
    name: string;
    age: number;
    sex: boolean;
}
// 返回值是一个对象
function f3(): iUser {
    return {
        name: '杰豪兄弟',
        age: 23,
        sex: true
    }
}

// 带有参数的函数
function f4(name: string): void {
    console.log(name);
}

function f5(price: number): number {
    return price * 0.5
}

// c: string = '你好' 带默认值的参数
// d?: number   可选参数
function f6(a: any, b: any, c: string = '你好', d?: number): any {
    return a + b
}

// f7 类型是一个箭头函数，而且没有参数和返回值的
const f7: () => void = () => { }

// 带返回值的函数
const f8: () => number = (): number => {
    return 1
}

// 有参数有返回值
const f9: (a: string) => number = (a: string): number => {
    return 1
}


const f10: (user: iUser) => iUser = (user: iUser): iUser => {
    return user
}

